package com.hs.srm.admin.modules.harmfulsubstance.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.hs.srm.base.common.base.CloneableEntity;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * (DeclarationFormItemEntity)实体类
 *
 * @author ych
 * @since 2020-03-24 16:53:41
 */
@Setter
@Getter
@TableName("declaration_form_item")
public class DeclarationFormItemEntity implements Serializable, CloneableEntity<DeclarationFormItemEntity> {

    private static final long serialVersionUID = -77350722713169060L;

    /**
     * 宣告表明细id
     */
    @TableId(value = "pk_id", type = IdType.UUID)
    @TableField("pk_id")
    private String pkId;

    /**
     * 宣告表父表id
     */
    @TableField("head_id")
    private String headId;

    /**
     * 子部件名称
     */
    @TableField("comp_name")
    private String compName;

    /**
     * 子部件规格型号
     */
    @TableField("comp_type")
    private String compType;

    /**
     * 子部件供应商
     */
    @TableField("comp_Supplier")
    private String compSupplier;

    /**
     * 子部件数量
     */
    @TableField("comp_quantity")
    private Integer compQuantity;

    /**
     * 子部件重量
     */
    @TableField("comp_weight")
    private String compWeight;

    /**
     * 均质材料名称
     */
    @TableField("homege_name")
    private String homegeName;

    /**
     * 均质材料规格型号
     */
    @TableField("homege_type")
    private String homegeType;

    /**
     * 均质材料重量
     */
    @TableField("homege_weight")
    private String homegeWeight;

    /**
     * 第三方测试-委托单位全称
     */
    @TableField("third_company")
    private String thirdCompany;

    /**
     * 第三方测试-检测机构
     */
    @TableField("third_institution")
    private String thirdInstitution;

    /**
     * 第三方测试-测试报告编号
     */
    @TableField("third_report")
    private String thirdReport;

    /**
     * 第三方测试-报告附件
     */
    @TableField("third_attachment")
    private String thirdAttachment;

    /**
     * 第三方测试-报告日期
     */
    @TableField("third_reportdate")
    @JSONField(format = "yyyy-MM-dd")
    private Date thirdReportdate;

    /**
     * 第三方测试-有效期至
     */
    @TableField("third_expiredate")
    @JSONField(format = "yyyy-MM-dd")
    private Date thirdExpiredate;

    @TableField("pb")
    private String pb;

    @TableField("cd")
    private String cd;

    @TableField("hg")
    private String hg;

    @TableField("cr")
    private String cr;

    @TableField("pbb")
    private String pbb;

    @TableField("pbde")
    private String pbde;

    @TableField("dehp")
    private String dehp;

    @TableField("dbp")
    private String dbp;

    @TableField("bbp")
    private String bbp;

    @TableField("dibp")
    private String dibp;

    /**
     * 是否豁免项
     */
    @TableField("exemption")
    private String exemption;

    /**
     * 创建时间
     */
    @TableField("create_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date createDate;

    /**
     * 创建人
     */
    @TableField("creator")
    private String creator;

    /**
     * 报告库id
     */
    @TableField(exist=false)
    private String reportId;

    @Override
    public DeclarationFormItemEntity clone() {
        try {
            return (DeclarationFormItemEntity) super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return null;
    }
}